#include "Nodo.h"

Nodo::Nodo() 
{
}

Nodo::Nodo(Tokem *token)
{
	this->filhos = new std::list<Nodo>;
	this->isTerminal = true;
	this->token = token;
	this->erro = SEM_ERROS;
}

Nodo::Nodo(NAO_TERMINAIS nTerminal)
{
	this->filhos = new std::list<Nodo>;
	this->isTerminal = false;
	this->nTerminal = nTerminal;
	this->erro = SEM_ERROS;
}

void Nodo::Erro(Tokem *token, PAL_RESERVADAS esperado, ERROS tipo)
{
	this->token = token;
	this->token->valoresperado = (int) esperado;
	this->erro = tipo;
}

void Nodo::Erro(Tokem *token, SIMBOLOS esperado, ERROS tipo)
{
	this->token = token;
	this->token->valoresperado = (int) esperado;
	this->erro = tipo;
}

void Nodo::Erro(Tokem *token, TIPOS_TOKENS esperado, ERROS tipo)
{
	this->token = token;
	this->token->valoresperado = (int) esperado;
	this->erro = tipo;
}

void Nodo::Erro(Tokem *token, ERROS tipo) {
	this->token = token;
	this->erro = tipo;
}

Nodo::~Nodo() { }
